State machines are essential elements of most digital circuits. A state machine has a set of states and a transition function, which transitions from state to state based on a set of input conditions. There are many types of state machines, such as finite state machines, state machines having outputs associated with transitions, state machines having outputs associated with states, deterministic state machines and nondeterministic state machines. Such state machines are common in all computer and integrated circuits applications.
Typically, state machines are custom designed for each application. Also, these state machines are typically optimized in terms of area and power consumption. The design of the state machines can therefore become quite complex and can involve time-consuming simulations in order to verify operation. As transistor densities on integrated circuits continue to increase, the development complexity, time and cost associated with designing and verifying state machines become high. In order to reduce development complexity, time and cost, a reconfigurable platform is desired, which would provide a flexible and effective architecture for implementing state machines in a natural way with a minimal learning curve. Such a platform would preferably be capable of providing a cost effective-implementation for a large number of state machines having a wide variety of configurations and functions.